package com.ruoyi.wms.service;

import java.util.List;
import com.ruoyi.wms.domain.WmsWarehouseArea;

/**
 * 库区信息Service接口
 * 
 * @author ruoyi
 * @date 2024-01-01
 */
public interface IWmsWarehouseAreaService 
{
    /**
     * 查询库区信息
     * 
     * @param id 库区信息主键
     * @return 库区信息
     */
    public WmsWarehouseArea selectWmsWarehouseAreaById(Long id);

    /**
     * 查询库区信息列表
     * 
     * @param wmsWarehouseArea 库区信息
     * @return 库区信息集合
     */
    public List<WmsWarehouseArea> selectWmsWarehouseAreaList(WmsWarehouseArea wmsWarehouseArea);

    /**
     * 新增库区信息
     * 
     * @param wmsWarehouseArea 库区信息
     * @return 结果
     */
    public int insertWmsWarehouseArea(WmsWarehouseArea wmsWarehouseArea);

    /**
     * 修改库区信息
     * 
     * @param wmsWarehouseArea 库区信息
     * @return 结果
     */
    public int updateWmsWarehouseArea(WmsWarehouseArea wmsWarehouseArea);

    /**
     * 批量删除库区信息
     * 
     * @param ids 需要删除的库区信息主键集合
     * @return 结果
     */
    public int deleteWmsWarehouseAreaByIds(Long[] ids);

    /**
     * 删除库区信息信息
     * 
     * @param id 库区信息主键
     * @return 结果
     */
    public int deleteWmsWarehouseAreaById(Long id);

    /**
     * 根据库区编码查询库区信息
     * 
     * @param areaCode 库区编码
     * @return 库区信息
     */
    public WmsWarehouseArea selectWmsWarehouseAreaByCode(String areaCode);

    /**
     * 根据仓库ID查询库区列表
     * 
     * @param warehouseId 仓库ID
     * @return 库区信息集合
     */
    public List<WmsWarehouseArea> selectWmsWarehouseAreaByWarehouseId(Long warehouseId);

    /**
     * 校验库区编码是否唯一
     * 
     * @param wmsWarehouseArea 库区信息
     * @return 结果
     */
    public boolean checkAreaCodeUnique(WmsWarehouseArea wmsWarehouseArea);
}